package com.atguigu.feature.optional;

import java.util.Optional;

/**
 * Created by Smexy on 2024/4/2
 */
public class Demo01TestNull {

    /**
     * 处理数据的方法
     * @param data 不能为空
     */
    public void dataProcess(String data) {

        // 在开发过程中，并不能确定外界传入的实参是否是有效的值
        // 所以通常对于外界传入的数据，都要进行判空保护
        if (data == null) {
            throw new RuntimeException("待处理数据不能为空！");
        }

        // ... 对数据执行处理的操作
        int length = data.length();
        System.out.println("length = " + length);
    }

    public void dataProcess(Optional<String> optional) {
        // 使用 Optional 执行的判空保护
        optional.orElseThrow(()-> new RuntimeException("待处理数据不能为空！"));
    }
}
